Así que estoy teniendo problemas para averiguar el uso adecuado de list :: sort () con respecto a una lista de estructuras. Aquí está el código relevante: estudiante de estructura { char firstnm [20], lastnm [20]; int id, grado; }; listsList; // Código irrelevante ... cout << "Por favor ingrese su propio nombre, identificación y grado. (Ej .: myfirst mylast 0 12) \ n"; cin >> data.firstnm >> data.lastnm >> data.id >> data.grade; sList.push_back (datos); sList.sort (); El problema que estoy tratando de resolver es usar sList.sort () para ordenar por id. Sin embargo, no tengo idea de cómo pasarlo correctamente a list :: sort (). ¡Gracias de antemano por cualquier ayuda / tiempo! EDITAR: La solución fue simplemente agregar esto a mi estructura operador bool <(const student & cmp) const { return id
2021-01-22 08:22:25
Debería echar un vistazo a std :: sort. (https://en.cppreference.com/w/cpp/algorithm/sort) Hay varias definiciones de esa función, y una en la que puede especificar lo que desea ordenar. Además, eche un vistazo a esa publicación, creo que es lo que necesita: https://stackoverflow.com/a/21234017/6663947 Editar: ese es un ejemplo de comparador: sList.sort ([] (const student & a, const student & b) {return a.idordenación vacía (Compare comp); Suponiendo que desea ordenar los objetos de los estudiantes en su lista de acuerdo con la identificación de la clave en orden ascendente. Puede definir el operador